Embodiments of the present invention are directed generally to packet transport in a cable network. More particularly, embodiments of the present invention are directed to systems and methods for transporting packets originating from preferred content providers over a cable network according to a selected “premium” service flow.
Hybrid Fiber Coax (HFC) cable networks were originally built to deliver broadcast-quality TV signals to homes. The wide availability of such systems and the extremely wide bandwidth of these systems led to the extension of their functionality to include delivery of high-speed broadband data signals to end-users. Data over Cable System Interface Specifications (DOCSIS), a protocol elaborated under the leadership of Cable Television Laboratories, Inc., has been established as the major industry standard for two-way communications over HFC cable plants.
The basic elements of a DOCSIS-compliant cable network are the cable modem (CM), located on the subscriber's site, and the cable modem termination system (CMTS) and headend located in facilities operated by the cable service provider. The medium between the CMTS and the different CMs is a two-way shared medium, in which the downstream channels carry signals from the head-end to users and upstream channels carry signals from users to head-end. A CM is normally tuned to one upstream channel and the associated downstream channel. The upstream channel is an inherently shared medium in which slots are reserved using a contention system while the downstream is a broadcast dedicated link from the CMTS to the CM.
A quality of service (QoS) level is defined for communications between a CM and a CMTS for each service to which a subscriber subscribes. For example, a basic data service subscriber may receive downstream traffic at a maximum burst rate of 3 Mbps, while a premium subscriber may receive downstream traffic at a maximum burst rate of 6 Mbps. Voice over IP (VoIP) services are typically provided with very stringent QoS requirements to assure that the quality of a cable-delivered telephone call will equal or exceed the call quality of a call placed over the public switched telephone network.
The principal mechanism for providing enhanced QoS is to classify packets traversing the path between a CM and CMTS into a service flow. A service flow is a unidirectional flow of packets that is provided a particular Quality of Service. The CM and CMTS provide this QoS by shaping, policing, and prioritizing traffic according to a QoS parameter set defined for the service flow.
Service flows exist in both the upstream and downstream direction, and may exist without actually being activated to carry traffic. Service flows have a 32-bit service flow identifier (SFID) assigned by the CMTS. All service flows have an SFID. An active and admitted upstream service flow also has a 14-bit Service Identifier (SID). At least two service flows are defined in a configuration file received by a CM: one for upstream and one for downstream service. The first upstream service flow describes the primary upstream service flow, and is the default service flow used for otherwise unclassified traffic. The first downstream service flow describes service to the primary downstream service flow. Additional service flows defined in the configuration file create service flows that are provided QoS services.
Conceptually, incoming packets are matched to a classifier that determines to which QoS service flow the packet is forwarded. The header of the packet is examined. If the packet matches one of the classifiers, it is forwarded to the service flow indicated by the SFID attribute of the classifier. If the packet is not matched to a classifier, it is forwarded on the primary service flow.
A classifier is a set of matching criteria applied to each packet entering the cable network. It comprises some packet matching criteria (destination IP address, for example), a classifier priority, and a reference to a service flow. If a packet matches the specified packet matching criteria, it is then delivered on the referenced service flow. Several classifiers may all refer to the same service flow. The classifier priority is used for ordering the application of classifiers to packets. Explicit ordering is necessary because the patterns used by classifiers may overlap. Downstream classifiers are applied by the CMTS to packets it is transmitting, and upstream classifiers are applied at the CM and may be applied at the CMTS to police the classification of upstream packets. The characteristics of a provisioned downstream service flow are defined in a DOCSIS configuration file downloaded by the CM when it boots and provided to the CMTS by the CM during registration.
Multiple service flows can be assigned per cable modem in either the upstream or downstream direction, and each of these service flows can correspond to a different QoS parameter set with different characteristics. This is conducive to allowing the CM to accommodate multiple kinds of data traffic at once, such as standard Internet traffic and Voice over IP (VoIP).
To guarantee bandwidth for a specific service, a network device must be able to identify packets associated with that service in all the IP traffic flowing through it. This identification and grouping process is called packet classification. Media gateways and MTAs use various match criteria to place traffic into a certain number of classes. Packet marking is the process of setting a Type of Service (ToS) bits or Differentiated Service Code Point (DSCP) bits in the IP header.
Modern IP enabled services such as voice over IP (VoIP) and MPEG Video over IP have a requirement for an assured rate of throughput, as well as strict requirements for latency and jitter, which could not be provided in a best effort environment. In addition, these kinds of services are not typically always active and, as such, resources to accommodate them need only be allocated when these services are required. For this reason, DOCSIS provides a range of modes for CM data transmission that can be initiated and terminated dynamically to accommodate these advanced IP services. Each of these modes can be applied to a QoS Parameter Set that defines characteristics of an upstream service flow:                Unsolicited Grant Service (UGS)—A service flow is created that allows a Cable Modem to transmit fixed-size bursts of data at a guaranteed rate and with a guaranteed level of jitter by providing periodic transmission opportunities to the Cable Modem for fixed-size frames. This kind of service flow is particularly suitable for Voice over IP applications.        Real-Time Polling Service (rtPS)—A service flow is created giving a periodic opportunity for a Cable Modem to request permission to transmit data by polling one Cable Modem for a bandwidth request, rather than all modems. This satisfies applications that have a requirement for real time data transmission as well as allowing the cable modem to transmit data bursts of varying length. This kind of service flow is particularly suitable for MPEG video over IP.        Unsolicited Grant Service with Activity Detection (UGS/AD)—This kind of service flow is a combination of UGS and rtPS and is useful for services that require a UGS style of fixed-size and fixed-rate transmission opportunities, but have significant periods where no data is being sent. One good example of this might be a Voice over IP phone call where up to 50% or more of the call may be silence and require no data transmission. While words are being spoken and packetized voice needs to be transmitted, the Cable Modem receives UGS style grants from the CMTS. When there is silence, the CMTS detects the absence of data and switches to a rtPS style mode, which temporarily frees up upstream bandwidth. When the conversation restarts and the Cable Modem needs to transmit more packetized voice, the Cable Modem transmits a further request to the CMTS via an rtPS granted opportunity and then the UGS style grants recommence.        Non-Real-Time Polling Service—This kind of service flow is like the rtPS, however polling will typically occur at a much lower rate and may not necessarily be periodic. This applies to applications that have no requirement for a real time service but may need an assured high level of bandwidth. An example of this may be a bulk data transfer or an Internet Gaming application.        
A downstream service flow also uses QoS parameters to define particular downstream service flows. For example, QoS parameters used in the downstream direction comprise a “minimum reserved traffic rate,” a “traffic priority,” and a “maximum downstream latency.” These downstream QoS parameters may be used by a scheduler in the CMTS to ensure that preferred traffic receives some guarantees for delivery within a certain amount of time and that that traffic is given priority over other traffic during times of downstream network congestion.
DOCSIS thus provides tools to define service flows both statically and dynamically in the upstream and downstream directions based on service type. However, there is no current mechanism for a cable system operator to redefine the parameter set of an upstream or downstream service flow based on the source of the packets being sent to, or from, a subscriber. What would be useful are systems and methods for transporting packets originating from designated content providers over a cable network according to a selected “premium” downstream service flow. These systems and methods would further provide the option of establishing a premium upstream service flow for packets sent by a subscriber in response to the downstream packets. Additionally, such systems and methods would provide the cable system operator means for billing the designated content provider for packets delivered using the premium service flow.